package com.hongdee.market.car;

import com.hongdee.base.entity.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;

/**
 * @author zhangguokai
 * @desc 车辆等级实体类
 */
@Entity
@Table(name = "t_market_car_level")
public class TmarketCarLevel extends BaseEntity {
    //VIN
    @Column(name = "car_id", columnDefinition = "VARCHAR(64) COMMENT '车辆 ID'")
    private String carId;
    //VIN
    @Column(name = "vin", columnDefinition = "VARCHAR(64) COMMENT '车架号'")
    private String vin;

    //日行驶里程
    @Column(name = "run_mile_day", columnDefinition = " DECIMAL(20,2) COMMENT '是行驶里程' ")
    private BigDecimal runMileDay;
    //车龄天数
    @Column(name = "car_age_day", columnDefinition = " INT COMMENT '车龄_天' ")
    private Integer carAgeDay;
    //里程等级
    // 1  < 1万
    // 2  1万<X < 3万
    @Column(name = "run_mile_level", columnDefinition = " INT COMMENT '里程等级' ")
    private Integer runmileLevel;

    // 进厂相关
    // 总进厂次数
    @Column(name = "total_enter_count", columnDefinition = " INT COMMENT '总进厂次数' ")
    private Integer totalEnterCount;
    // 年进厂次数
    @Column(name = "year_enter_count", columnDefinition = " INT COMMENT '年进厂次数' ")
    private Integer yearEnterCount;
    // 总产值
    @Column(name = "total_amount", columnDefinition = " DECIMAL(20,2) COMMENT '总产值' ")
    private BigDecimal totalAmount;
    // 单次产值
    @Column(name = "avg_amount", columnDefinition = " DECIMAL(20,2) COMMENT '单次产值' ")
    private BigDecimal avgAmount;

    // 价值总进厂次数
    @Column(name = "worth_total_enter_count", columnDefinition = " INT COMMENT '价值总进厂次数' ")
    private Integer worthTotalEnterCount;
    // 价值年进厂次数
    @Column(name = "worth_year_enter_count", columnDefinition = " INT COMMENT '价值年进厂次数' ")
    private Integer worthYearEnterCount;
    // 价值总产值
    @Column(name = "worth_total_amount", columnDefinition = " DECIMAL(20,2) COMMENT '价值总产值' ")
    private BigDecimal worthTotalAmount;
    // 价值单次产值
    @Column(name = "worth_avg_amount", columnDefinition = " DECIMAL(20,2) COMMENT '价值单次产值' ")
    private BigDecimal worthAvgAmount;

    //自费
    // 自总进厂次数
    @Column(name = "own_total_enter_count", columnDefinition = " INT COMMENT '自费总进厂次数' ")
    private Integer ownTotalEnterCount;
    // 价值年进厂次数
    @Column(name = "own_year_enter_count", columnDefinition = " INT COMMENT '自费年进厂次数' ")
    private Integer ownEnterCount;
    //进厂次数得分
    @Column(name = "own_year_enter_count_score", columnDefinition = " INT COMMENT '自费进厂分数' ")
    private Integer ownYearEnterCountScore;

    // 价值总产值
    @Column(name = "own_total_amount", columnDefinition = " DECIMAL(20,2) COMMENT '自费总产值' ")
    private BigDecimal ownTotalAmount;
    // 价值单次产值
    @Column(name = "own_avg_amount", columnDefinition = " DECIMAL(20,2) COMMENT '自费单次产值' ")
    private BigDecimal ownAvgAmount;
    //进厂次数得分
    @Column(name = "own_year_ave_amount_score", columnDefinition = " INT COMMENT '平均产值分数' ")
    private Integer ownYearAvgAmountScore;
    //自费
    // 事故进厂总次数
    @Column(name = "accident_total_enter_count", columnDefinition = " INT COMMENT '事故总进厂次数' ")
    private Integer accidentTotalEnterCount;


    // 事故年进厂次数
    @Column(name = "accident_year_enter_count", columnDefinition = " INT COMMENT '事故年进厂次数' ")
    private Integer accidentYearEnterCount;
    @Column(name = "accident_year_enter_count_score", columnDefinition = " INT COMMENT '事故年进厂次数分数' ")
    private Integer accidentYearEnterCountScore;

    // 事故总产值
    @Column(name = "accident_total_amount", columnDefinition = " DECIMAL(20,2) COMMENT '事故总产值' ")
    private BigDecimal accidentTotalAmount;
    // 事故单次产值
    @Column(name = "accident_avg_amount", columnDefinition = " DECIMAL(20,2) COMMENT '事故单次产值' ")
    private BigDecimal accidentAvgAmount;

    // 会员级别
    @Column(name = "member_level", columnDefinition = " INT COMMENT '会员级别' ")
    private Integer memberLevel;
    //会员得分
    @Column(name = "member_score", columnDefinition = " INT COMMENT '会员得分' ")
    private Integer memberScore;

    //是否储值
    //0 否 1 俱乐部 2 自店
    @Column(name = "pre_pay_type", columnDefinition = " INT COMMENT '预付款' ")
    private Integer prePayType;
    //储值金额
    @Column(name = "pre_pay_amount", columnDefinition = " DECIMAL(20,2) COMMENT '储值金额' ")
    private BigDecimal prePayAmount;
    // 储值得分
    @Column(name = "pre_pay_score", columnDefinition = " INT COMMENT '储值金额' ")
    private BigDecimal prePayScore;

    //保养间隔里程
    @Column(name = "maintain_avg_mile", columnDefinition = " DECIMAL(20,2) COMMENT '储值金额' ")
    private BigDecimal maintainAvgMile;

    //保养间隔里程
    @Column(name = "maintain_avg_mile_score", columnDefinition = " INT COMMENT '储值金额' ")
    private BigDecimal maintainAvgMileScore;

    // 是否本店承保 0 否 1  是
    @Column(name = "is_insurance_self", columnDefinition = " INT COMMENT '是否本店承保' ")
    private Integer isInsuranceSelf;

    // 是否本店承保分数 0 否 1  是
    @Column(name = "is_insurance_self_score", columnDefinition = " INT COMMENT '本店承保分数' ")
    private Integer insuranceSelfScore;

    // 保险公司
    @Column(name = "is_insurance_company", columnDefinition = " VARCHAR(64) COMMENT '保险公司' ")
    private Integer isInsuranceCompany;

    // 是否延保 0 否 1  是
    @Column(name = "is_exsurance", columnDefinition = " INT COMMENT '是否延保' ")
    private Integer inExsurance;

    // 是否延保 0 否 1  是
    @Column(name = "is_exsurance_score", columnDefinition = " INT COMMENT '延保分数' ")
    private Integer inExsuranceScore;

    // 总得分
    @Column(name = "total_score", columnDefinition = " INT COMMENT '总分数' ")
    private Integer totalScore;


    // 总得分
    @Column(name = "car_level", columnDefinition = " VARCHAR(1) COMMENT '车辆等级' ")
    private String carLevel;

    //导入公司ID
    @Column(name = "company_id", length = 32, columnDefinition = "VARCHAR(32) COMMENT '导入公司ID'")
    private String companyId;

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCarId() {
        return carId;
    }

    public void setCarId(String carId) {
        this.carId = carId;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public BigDecimal getRunMileDay() {
        return runMileDay;
    }

    public void setRunMileDay(BigDecimal runMileDay) {
        this.runMileDay = runMileDay;
    }

    public Integer getCarAgeDay() {
        return carAgeDay;
    }

    public void setCarAgeDay(Integer carAgeDay) {
        this.carAgeDay = carAgeDay;
    }

    public Integer getRunmileLevel() {
        return runmileLevel;
    }

    public void setRunmileLevel(Integer runmileLevel) {
        this.runmileLevel = runmileLevel;
    }

    public Integer getTotalEnterCount() {
        return totalEnterCount;
    }

    public void setTotalEnterCount(Integer totalEnterCount) {
        this.totalEnterCount = totalEnterCount;
    }

    public Integer getYearEnterCount() {
        return yearEnterCount;
    }

    public void setYearEnterCount(Integer yearEnterCount) {
        this.yearEnterCount = yearEnterCount;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getAvgAmount() {
        return avgAmount;
    }

    public void setAvgAmount(BigDecimal avgAmount) {
        this.avgAmount = avgAmount;
    }

    public Integer getWorthTotalEnterCount() {
        return worthTotalEnterCount;
    }

    public void setWorthTotalEnterCount(Integer worthTotalEnterCount) {
        this.worthTotalEnterCount = worthTotalEnterCount;
    }

    public Integer getWorthYearEnterCount() {
        return worthYearEnterCount;
    }

    public void setWorthYearEnterCount(Integer worthYearEnterCount) {
        this.worthYearEnterCount = worthYearEnterCount;
    }

    public BigDecimal getWorthTotalAmount() {
        return worthTotalAmount;
    }

    public void setWorthTotalAmount(BigDecimal worthTotalAmount) {
        this.worthTotalAmount = worthTotalAmount;
    }

    public BigDecimal getWorthAvgAmount() {
        return worthAvgAmount;
    }

    public void setWorthAvgAmount(BigDecimal worthAvgAmount) {
        this.worthAvgAmount = worthAvgAmount;
    }

    public Integer getOwnTotalEnterCount() {
        return ownTotalEnterCount;
    }

    public void setOwnTotalEnterCount(Integer ownTotalEnterCount) {
        this.ownTotalEnterCount = ownTotalEnterCount;
    }

    public Integer getOwnEnterCount() {
        return ownEnterCount;
    }

    public void setOwnEnterCount(Integer ownEnterCount) {
        this.ownEnterCount = ownEnterCount;
    }

    public Integer getOwnYearEnterCountScore() {
        return ownYearEnterCountScore;
    }

    public void setOwnYearEnterCountScore(Integer ownYearEnterCountScore) {
        this.ownYearEnterCountScore = ownYearEnterCountScore;
    }

    public BigDecimal getOwnTotalAmount() {
        return ownTotalAmount;
    }

    public void setOwnTotalAmount(BigDecimal ownTotalAmount) {
        this.ownTotalAmount = ownTotalAmount;
    }

    public BigDecimal getOwnAvgAmount() {
        return ownAvgAmount;
    }

    public void setOwnAvgAmount(BigDecimal ownAvgAmount) {
        this.ownAvgAmount = ownAvgAmount;
    }

    public Integer getOwnYearAvgAmountScore() {
        return ownYearAvgAmountScore;
    }

    public void setOwnYearAvgAmountScore(Integer ownYearAvgAmountScore) {
        this.ownYearAvgAmountScore = ownYearAvgAmountScore;
    }

    public Integer getAccidentTotalEnterCount() {
        return accidentTotalEnterCount;
    }

    public void setAccidentTotalEnterCount(Integer accidentTotalEnterCount) {
        this.accidentTotalEnterCount = accidentTotalEnterCount;
    }

    public Integer getAccidentYearEnterCount() {
        return accidentYearEnterCount;
    }

    public void setAccidentYearEnterCount(Integer accidentYearEnterCount) {
        this.accidentYearEnterCount = accidentYearEnterCount;
    }

    public Integer getAccidentYearEnterCountScore() {
        return accidentYearEnterCountScore;
    }

    public void setAccidentYearEnterCountScore(Integer accidentYearEnterCountScore) {
        this.accidentYearEnterCountScore = accidentYearEnterCountScore;
    }

    public BigDecimal getAccidentTotalAmount() {
        return accidentTotalAmount;
    }

    public void setAccidentTotalAmount(BigDecimal accidentTotalAmount) {
        this.accidentTotalAmount = accidentTotalAmount;
    }

    public BigDecimal getAccidentAvgAmount() {
        return accidentAvgAmount;
    }

    public void setAccidentAvgAmount(BigDecimal accidentAvgAmount) {
        this.accidentAvgAmount = accidentAvgAmount;
    }

    public Integer getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(Integer memberLevel) {
        this.memberLevel = memberLevel;
    }

    public Integer getMemberScore() {
        return memberScore;
    }

    public void setMemberScore(Integer memberScore) {
        this.memberScore = memberScore;
    }

    public Integer getPrePayType() {
        return prePayType;
    }

    public void setPrePayType(Integer prePayType) {
        this.prePayType = prePayType;
    }

    public BigDecimal getPrePayAmount() {
        return prePayAmount;
    }

    public void setPrePayAmount(BigDecimal prePayAmount) {
        this.prePayAmount = prePayAmount;
    }

    public BigDecimal getPrePayScore() {
        return prePayScore;
    }

    public void setPrePayScore(BigDecimal prePayScore) {
        this.prePayScore = prePayScore;
    }

    public BigDecimal getMaintainAvgMile() {
        return maintainAvgMile;
    }

    public void setMaintainAvgMile(BigDecimal maintainAvgMile) {
        this.maintainAvgMile = maintainAvgMile;
    }

    public BigDecimal getMaintainAvgMileScore() {
        return maintainAvgMileScore;
    }

    public void setMaintainAvgMileScore(BigDecimal maintainAvgMileScore) {
        this.maintainAvgMileScore = maintainAvgMileScore;
    }

    public Integer getIsInsuranceSelf() {
        return isInsuranceSelf;
    }

    public void setIsInsuranceSelf(Integer isInsuranceSelf) {
        this.isInsuranceSelf = isInsuranceSelf;
    }

    public Integer getInsuranceSelfScore() {
        return insuranceSelfScore;
    }

    public void setInsuranceSelfScore(Integer insuranceSelfScore) {
        this.insuranceSelfScore = insuranceSelfScore;
    }

    public Integer getIsInsuranceCompany() {
        return isInsuranceCompany;
    }

    public void setIsInsuranceCompany(Integer isInsuranceCompany) {
        this.isInsuranceCompany = isInsuranceCompany;
    }

    public Integer getInExsurance() {
        return inExsurance;
    }

    public void setInExsurance(Integer inExsurance) {
        this.inExsurance = inExsurance;
    }

    public Integer getInExsuranceScore() {
        return inExsuranceScore;
    }

    public void setInExsuranceScore(Integer inExsuranceScore) {
        this.inExsuranceScore = inExsuranceScore;
    }

    public Integer getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Integer totalScore) {
        this.totalScore = totalScore;
    }

    public String getCarLevel() {
        return carLevel;
    }

    public void setCarLevel(String carLevel) {
        this.carLevel = carLevel;
    }
}
